import storage from './storage'
const KEY_USERINFO = 'USER_INFO'

export let userInfo = (e => {
  if (!e) {
    return {}
  }
  try {
    return JSON.parse(e)
  } catch (err) {
    storage.setStorage(KEY_USERINFO, {})
    return {}
  }
})(storage.getStorage(KEY_USERINFO))

/**
 * 存储用户信息
 * @param value
 */
export function setUserInfo (value) {
  userInfo = value
  storage.setStorage(KEY_USERINFO, value)
}

/**
 * 获取用户Token
 * @returns {any}
 */
export function getToken () {
  return userInfo && userInfo.token
}

/**
 * 获取用户信息
 * @returns {{}|any|undefined}
 */
export function getUserInfo () {
  return userInfo && userInfo
}

/**
 * 获取菜单
 * @returns {{}|any|undefined|default.computed.menu}
 */
export function getMenuList () {
  return userInfo && userInfo.menu
}

/**
 * 删除用户信息
 */
export function removeUserInfo () {
  userInfo = {}
  storage.removeStorage(KEY_USERINFO)
}
